﻿#define _CRT_SECURE_NO_WARNINGS 1


//编写一个函数，计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内(0~127 ，包括 0 和 127)，换行表示结束符，不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
//例如，对于字符串 abaca 而言，有 a、b、c 三种不同的字符，因此输出 3 。
//数据范围：
//1≤n≤500
//输入描述：
//输入一行没有空格的字符串。
//输出描述：
//输出 输入字符串 中范围在(0~127，包括0和127)字符的种数。
#include <stdio.h>

int main()
{
    char str[500] = { 0 };
    scanf("%s", str);
    int size = strlen(str);
    int i = 0;
    int arr[128] = { 0 };
    for (i = 0; i < size; i++)
    {
        if (!arr[str[i]])
            arr[str[i]]++;
    }
    int total = 0;
    for (i = 0; i < 128; i++)
    {
        total += arr[i];
    }
    printf("%d", total);

}


//给定一个大小为 n 的数组 nums ，返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n / 2 ⌋ 的元素。
//你可以假设数组是非空的，并且给定的数组总是存在多数元素


int cmp(void* a, void* b)
{
    return *(int*)a - *(int*)b;
}
int majorityElement(int* nums, int numsSize)
{
    qsort(nums, numsSize, sizeof(int), cmp);
    return nums[numsSize / 2];

}

//假设肯定有众数的方法